package com.samehope.ar.service;

import com.samehope.ar.dto.ItemTypeAddParam;
import com.samehope.ar.dto.ItemTypeUpdateParam;
import com.samehope.ar.entity.PatrolItemType;
import com.baomidou.mybatisplus.extension.service.IService;
import com.samehope.ar.vo.FormSelectVO;
import com.samehope.ar.vo.TreeDataVO;

import java.util.List;

/**
 * <p>
 * 巡检项分类表 服务类
 * </p>
 *
 * @author Zhang Luo
 * @since 2019-12-23
 */
public interface IPatrolItemTypeService extends IService<PatrolItemType> {

    /**
     * 巡检项分类增加
     * @param param
     */
    Long add(ItemTypeAddParam param);

    /**
     * 巡检项分类删除
     * @param itemTypeId
     */
    void delete(Long itemTypeId);

    /**
     * 更新巡检项分类
     * @param param
     */
    void update(ItemTypeUpdateParam param);

    /**
     * 巡检项分类下拉选视图对象集合
     * @return
     */
    List<FormSelectVO> typesForSelect();

    /**
     * 巡检项分类树结构
     * @param condition
     * @return
     */
    List<TreeDataVO> tree(String condition);

    /**
     * 根据巡检项分类名称查询巡检项
     * @param itemTypeName
     * @return
     */
    PatrolItemType findTypeByTypeName(String itemTypeName);
}
